#pragma once
#include <string>
#include <iostream>

namespace ns_task
{
	class Task
	{
	public:
		int d1;
		int d2;
		char op;

	public:
		Task(const int _d1, const int _d2, const char _op) : d1(_d1), d2(_d2), op(_op)
		{}

		Task()
		{}

		~Task()
		{}

	public:
		int run()
		{
			int result = 0;
			switch (op)
			{
			case '+':
				result = d1 + d2;
				break;
			case '-':
				result = d1 - d2;
				break;
			case '*':
				result = d1 * d2;
				break;
			case '/':
				result = d1 / d2;
				break;
			case '%':
				result = d1 % d2;
				break;
			default:
				std::cout << "bug??" << std::endl;
			}

			return result;
		}

		int operator()()
		{
			return run();
		}
	};
}
